﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Helena.Areas.Vendedores.Models;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace Helena.Areas.Entradas.Models
{
    public class EntradaView
    {
        public int ID { get; set; }
        
        [DisplayName("Activo")]
        public bool Estado { get; set; }
        
        [Required]
        [DisplayName("Usuario")]
        public int VendedorID { get; set; }

        [Required]
        [DisplayName("Proveedor")]
        public int ProveedorID { get; set; }

        [Required]
        [DisplayName("Numero de la Guia")]
        public string NumeroGuia { get; set; }
        
        [Required]
        [DisplayName("Numero de la Factura")]
        public string NumeroFactura { get; set; }
        

        [DisplayName("Descripcion")]
        public string Descripcion { get; set; }

        public DateTime Fecha { get; set; }

        public EntradaView() { Fecha = DateTime.Now; Estado = true; ProveedorID = 1; Descripcion = ""; }
        public EntradaView(Entrada entrada) 
        {
            ID = entrada.ID;
            Estado = entrada.Estado;
            VendedorID = entrada.VendedorID;
            ProveedorID = entrada.ProveedorID;
            NumeroGuia = entrada.NumeroGuia;
            NumeroFactura = entrada.NumeroFactura;
            Fecha = entrada.Fecha;
            Descripcion = entrada.Descripcion;
        }
        public Entrada deserializa(InterfazLogicaEntrada logica)
        {
            return new Entrada
            {
                ID = this.ID,
                Estado = this.Estado,
                VendedorID = this.VendedorID,
                NumeroGuia = this.NumeroGuia,
                NumeroFactura=this.NumeroFactura,
                ProveedorID = this.ProveedorID,
                Fecha = this.Fecha,
                Descripcion=this.Descripcion
            };
        }
        
    }
}